Portable media device with workout support

ABSTRACT

Improved techniques and systems for utilizing a portable electronic device to monitor, process, present and manage data captured by a remote sensor are disclosed. The portable electronic device offers a convenient user interface that can be visual and/or audio based customized to a particular application, user-friendly and/or dynamic. The portable electronic device can pertain to a portable media player and thus also provide media playback.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of and claims priority under 35 USC§120 to U.S. patent application Ser. No. 12/635,968 filed Dec. 11, 2009,which is a divisional of U.S. patent application Ser. No. 11/439,523filed May 22, 2006, now U.S. Pat. No. 7,643,895 issued Jan. 5, 2010, allof which are hereby incorporated by reference herein.

This application is related to: (i) U.S. patent application Ser. No.11/144,541, filed Jun. 3, 2005, and entitled “TECHNIQUES FOR PRESENTINGSOUND EFFECTS ON A PORTABLE MEDIA PLAYER”; (ii) U.S. patent applicationSer. No. 11/209,367, filed Aug. 22, 2005, and entitled “AUDIO STATUSINFORMATION FOR A PORTABLE ELECTRONIC DEVICE”, now U.S. Pat. No.7,590,772, issued Sep. 15, 2009; (iii) U.S. patent application Ser. No.11/245,937, filed Oct. 7, 2005, and entitled “TECHNIQUES FOR PAIRINGREMOTE CONTROLLERS WITH HOST DEVICES”, and (iv) U.S. Provisional PatentApplication No. 60/802,889, filed May 22, 2006, and entitled “ACTIVITYMONITORING SYSTEM”, all of which are hereby incorporated by referenceherein.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to portable media devices and, moreparticularly, to portable media players that support user exerciseroutines.

2. Description of the Related Art

A media player stores media assets, such as audio tracks, that can beplayed or displayed on the media player. One example of a portable mediaplayer is the iPod® media player, which is available from Apple Inc. ofCupertino, Calif. Often, a media player acquires its media assets from ahost computer that serves to enable a user to manage media assets. Inmanaging media assets, a user can create playlists for audio tracks.These playlists can be created at the host computer. Media assets withinthe playlists can then be copied to the media player. As an example, thehost computer can execute a media management application to acquire andmanage media assets. One example of a media management application isiTunes® produced by Apple Inc.

Portable media players, such as MP3 players, are able to play music forusers often via earphones or a headset. Typically, portable mediaplayers are dedicated to playing media. Lately, media players have beenintegrated into mobile telephones as well as personal informationmanagers (or digital personal assistants). However, many users ofportable media players utilize their media players in the context ofexercising, such as at the gym or while running outdoors. Unfortunately,however, portable music players are not designed to assist the users inthe context of their exercising. Although portable media players canplay music for the users, there is traditionally no capability toprovide any non-media information to the user.

Recently, a MP3 player has been enhanced to support wirelesscommunications, through a Bluetooth module, with a wireless speed anddistance sensor that is coupled to the shoelaces of the user's shoe. Thewireless speed and distance sensor operates as a pedometer and canwirelessly transmit data to the MP3 player. Such a system permitsinteraction between a MP3 player and a pedometer, which areconventionally separate devices. Another existing approach is to use awristwatch including GPS technology to track distance of runs, but suchlack the ability to provide media playback. Regardless, there remains aneed for improved interaction between portable media players and otherdevices so that users of portable media players can be better providedwith non-media information.

SUMMARY OF THE INVENTION

The invention relates to improved techniques and systems for utilizing aportable electronic device to monitor, process, present and manage datacaptured by a remote sensor. The portable electronic device offers aconvenient user interface that can be visual and/or audio basedcustomized to a particular application, user-friendly and/or dynamic.The portable electronic device can pertain to a portable media playerand thus also provide media playback.

The invention can be implemented in numerous ways, including as amethod, system, device, apparatus (including graphical user interface),or computer readable medium. Several embodiments of the invention arediscussed below.

As a workout monitoring process operable on a portable electronicdevice, one embodiment of the invention includes at least the acts of:determining a workout to be performed by a user of the portableelectronic device; determining workout music to be utilized for theworkout; receiving, processing and storing workout data acquired from asensor; playing the workout music; and presenting at least a portion ofthe workout data to the user.

As a graphical user interface presented by a portable electronic devicefor enabling a user of the portable electronic device to configure theportable electronic device to monitor a workout undertaken by the user,where the portable electronic device has a display, one embodiment ofthe invention includes at least: a workout screen presented on thedisplay of the portable electronic device, the workout screen enablingthe user to select at least a workout type; and a workoutcharacteristics screen presented on the display of the portableelectronic device in response to the user selection of the workout type,the workout characteristics screen enabling the user to select at leastone workout characteristic for the workout of the workout type.

As a workout template for with a portable electronic device, oneembodiment of the invention includes at least an identification of whatto display during a workout on a display associated with the portableelectronic device.

As a workout template for with a portable electronic device, anotherembodiment of the invention includes at least a header and at least oneinterval. The header includes at least an identification of what todisplay following a workout on a display associated with the portableelectronic device. The at least one interval includes at least: anidentification of what to display during at least an interval of theworkout on the display associated with the portable electronic device;an indication of what and when voice prompts are to be provided duringat least the interval of the workout; and an identification of what todisplay during at least the interval of a workout on the displayassociated with the portable electronic device.

As a method for informing a user of exercise-related information, theuser utilizing a portable electronic device while exercising, oneembodiment of the invention includes at least the acts of: receivingexercise-related data from a data sensor during the exercising, the datasensor being operatively connected to the portable electronic device ina wired or wireless manner; determining whether audio feedback is to beprovided to the user of the portable electronic device; and outputtingaudio data corresponding to the audio feedback to the user.

As a method for playing media items on a portable media player, oneembodiment of the invention includes at least the acts of: receiving arequest to play a particular predetermined song, the request beingreceived while a set of other songs are being sequentially played;identifying the particular predetermined song to be played in responseto the request, the particular predetermined song being stored on theportable media player; stopping the playing of the set of other songs;playing the particular predetermined song; and subsequently resumingplaying of the set of other songs after the playing the particularpredetermined song has ended.

As a system, one embodiment includes at least: a portable electronicdevice; a removable wireless interface device coupled to the portableelectronic device; and a remote wireless sensor.

As a computer readable medium including at least computer program codefor workout monitoring on a portable electronic device, one embodimentof the invention includes at least: computer program code fordetermining a workout to be performed by a user of the portableelectronic device; computer program code for determining workout musicto be utilized for the workout; computer program code for receiving,processing and storing workout data acquired from a sensor; computerprogram code for playing the workout music; and computer program codefor presenting at least a portion of the workout data to the user.

As a computer readable medium including at least computer program codefor informing a user of exercise-related information, where the userutilizes a portable electronic device while exercising, one embodimentof the invention includes at least: computer program code for receivingexercise-related data from a data sensor during the exercising, the datasensor being operatively connected to the portable electronic device ina wired or wireless manner; computer program code for determiningwhether audio feedback is to be provided to the user of the portableelectronic device; and computer program code for outputting audio datacorresponding to the audio feedback to the user.

As a method for playing media items on a portable media player, oneembodiment of the invention includes at least: computer program code forreceiving a request to play a particular predetermined song, the requestbeing received while a set of other media items are being sequentiallyplayed; computer program code for identifying the particularpredetermined media item to be played in response to the request, theparticular predetermined media item being stored on the portable mediaplayer; computer program code for stopping the playing of the set ofother songs; computer program code for playing the particularpredetermined song; and computer program code for resuming playing ofthe set of other media items after playing of the particularpredetermined media item has ended.

Other aspects and advantages of the invention will become apparent fromthe following detailed description taken in conjunction with theaccompanying drawings which illustrate, by way of example, theprinciples of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will be readily understood by the following detaileddescription in conjunction with the accompanying drawings, wherein likereference numerals designate like structural elements, and in which:

FIG. 1 is a block diagram of a sports monitoring system according to oneembodiment of the invention.

FIG. 2 illustrates a block diagram of a sports device according to oneembodiment of the invention.

FIG. 3 is a block diagram of a wireless interface accessory according toone embodiment of the invention.

FIG. 4A is a block diagram of an arrangement of functional modulesutilized by a portable media device.

FIG. 4B is a block diagram of a media player suitable for use with theinvention.

FIG. 5 is a flow diagram of a workout process according to oneembodiment of the invention.

FIG. 6 is a flow diagram of a workout monitoring process according toone embodiment of the invention.

FIGS. 7A and 7B are flow diagrams of a workout setup process accordingto one embodiment of the invention.

FIGS. 8A and 8B are flow diagrams of a workout manager process accordingto one embodiment of the invention.

FIG. 9 is a flow diagram of a workout data process according to oneembodiment of the invention.

FIGS. 10A and 10B are flow diagrams of an audio feedback processaccording to one embodiment of the invention.

FIG. 11 is a flow diagram of a power song process according to oneembodiment of the invention.

FIGS. 12-79 are exemplary screens that can be provided by a portableelectronic device associated with an application directed to monitoringrun-based workouts while also permitting workout music to be presented.

FIG. 80 is a diagram of a template control system according to oneembodiment of the invention.

DETAILED DESCRIPTION OF THE INVENTION

The invention relates to improved techniques and systems for utilizing aportable electronic device to monitor, process, present and manage datacaptured by a remote sensor. The portable electronic device offers aconvenient user interface that can be visual and/or audio basedcustomized to a particular application, user-friendly and/or dynamic.The portable electronic device can pertain to a portable media playerand thus also provide media playback.

In one embodiment, the portable electronic device can also eitherdirectly support wireless communication with the remote sensor orindirectly support wireless communications by using an attachableaccessory device that provides wireless capability to the portableelectronic device.

The invention is particularly well suited for use in monitoringsports-related data, such as exercise data (e.g., run data). However, itshould be recognized that the invention is not limited to sportsmonitoring, but instead is applicable to any type of monitoring. Forexample, the monitoring can be any physiological monitoring of a person,who is typically the user of a portable electronic device.

One aspect of the invention is organization of data monitoring andmanagement into workouts. Another aspect of the invention is a graphicaluser interface that permits user configuration or user selections,presents menus for workout selection, presents workout statusinformation, and provides workout results. Still another aspect of theinvention is use of templates to describe characteristics of workouts.Yet still another aspect of the invention is playing a designatedplaylist (i.e., a group of songs) during a workout. Still yet anotheraspect of the invention is near immediate playback a particularpredetermined media item (e.g., song) on-demand (e.g., requested by apredetermined user interface action or by system based on workoutmonitoring) and disregarding any other media item being otherwiseplayed. These aspects and various others discussed herein can be usedseparately or in any combination.

Embodiments of the invention are discussed below with reference to FIGS.1-80. However, those skilled in the art will readily appreciate that thedetailed description given herein with respect to these figures is forexplanatory purposes as the invention extends beyond these limitedembodiments.

FIG. 1 is a block diagram of a sports monitoring system 100 according toone embodiment of the invention. The sports monitoring system 100 is anelectronic system that enables sports related information to beacquired, stored, analyzed, presented and shared.

The sports monitoring system 100 includes a portable media device 102.The portable media device 102 is capable of storing and playing mediafor its user. For example, the portable media device 102 can output(e.g., play) audio or video. The sports monitoring system 100 alsoincludes a sports device 104. The sports device 104 is, for example, apedometer, a heart rate monitor, etc. The sports device 104 includes oneor more sensors that acquire sports related data.

The sports device 104 also includes wireless transmission capability sothat the sports related data can be transmitted to the portable mediadevice 102. In particular, the portable media device 102 includes awireless interface accessory 106. The wireless interface accessory 106includes a wireless transceiver so that the wireless interface accessory106 can receive the sports related data being transmitted by the sportsdevice 104 by way of a wireless connection through a personal wirelessnetwork 108. The portable media device 102 can receive the sportsrelated data from the sports device 104 via the wireless interfaceaccessory 106 and can then operate to process and store the sportsrelated data at the portable media device 102.

The sports monitoring system 100 also includes a personal computer 110.The portable media device 102 can be electrically connected to thepersonal computer 110 by way of a cable 112. The cable 112 can, forexample, be a Firewire or USB cable. Alternatively, the cable 112 can bereplaced with a wireless link. Although the portable media device 102 isnot normally electrically connected to the personal computer 110, theelectrical connection when present facilitates information exchangebetween the portable media device 102 and the personal computer 110.

The personal computer 110 includes a media management application 114.The media management application 114, in one embodiment, can not onlymanage the media assets stored on the personal computer 110, but canalso store and manage sports related data. In one embodiment, the mediamanagement application 114 can operate to cause the sports related datastored on the portable media device 102 to be copied to the personalcomputer 110. Thereafter, the sports related data can be analyzed at thepersonal computer 110 and/or made available to the user of the personalcomputer 110. In addition, the sports monitoring system 100 canfacilitate the personal computer 110 coupling to a data network 116. Thedata network 116 can represent a global or Wide Area network, such asthe World Wide Web (or the Internet). When the personal computer 110 iscoupled to the data network 116, the sports related data present at thepersonal computer 110 can be transferred to a sports management server118. At the sports management server 118, the sports related data can befurther analyzed and/or processed to facilitate usefulness of the data.The sports management server 118 supports storage and analysis of sportsrelated data from a large number of different portable media devicesand/or personal computers. Hence, the sports management server 118 canalso compare the sports related data from different users. The sportsmanagement server 118 can also provide a website that can be accessed bya network browser operating on the personal computer 110 or othercomputing device to access sports related information or otherinformation made available via the website.

The sports monitoring system 100 can also support one or more remotecontrollers (not shown). A remote controller can also communicate withportable media device 102 via the wireless interface accessory 106. Theremote controller may require it be paired or linked with the wirelessinterface accessory 106 or the portable media device 102.

The sports device 104 illustrated in FIG. 1 can take a variety ofdifferent forms. In one embodiment, the sports device is a sensor-baseddevice. One example of a sensor-based device is a pedometer.

FIG. 2 illustrates a block diagram of a sports device 200 according toone embodiment of the invention. The sports device 200 is, for example,suitable for use as the sports device 104 illustrated in FIG. 1.

The sports device 200 includes a microcontroller 202 that controls theoverall operation of the sports device 200. The sports device 200 alsoincludes a transducer 204 that acquires raw sports data. As an example,the transducer 204 can pertain to a piezo-electric device (e.g.,piezo-electric pedometer). With a piezo-electric device, electricalsignals associated with pressure applied to the transducer 204 areproduced as a user of the sports device walks or runs. In oneembodiment, the sports device 200 can be embedded within a shoe, such aswithin a sole of a shoe. A signal conditioning circuit 206 filtersand/or amplifies the raw sports data supplied by the transducer 204. Theresulting conditioned sports data is then supplied to themicrocontroller 202. The microcontroller 202 include memory that canstore the conditioned sports data. The sports device 202 also includes atransceiver 208 to transmit the conditioned sports data to a portablemedia device, such as the portable media device 102 via the wirelessinterface accessory 106 illustrated in FIG. 1. Since the sports device200 need not receive data back from the portable media device 102, thetransceiver 208 can alternatively be a transmitter.

Still further, the sports device 200 is battery powered by a battery210. In one embodiment, the battery 210 is not replaceable by the userof the sports device 200. Accordingly, the sports device 200 is designedto operate in a low power manner. In this regard, the microcontroller202 is a low power design and can be placed in a sleep/hibernate modewhen sports data is not being acquired. In one embodiment, the sportsdevice 200 includes an activity detector 212. The activity detector 212can monitor the transducer 204 or the signal conditioning circuit 206 todetermine whether the sports data is indicating that there is somesports related activity (e.g., running, walking, etc.) being undertaken.When the activity detector 212 determines that there is no sportsrelated activity, the activity detector 212 can cause or signal themicrocontroller 202 to enter a low power mode (i.e., sleep orhibernate). When the activity detector 212 determines that there issports related activity while the microcontroller 202 is in the lowpower mode, the activity detector 212 can cause or signal themicrocontroller 202 to awaken to a normal mode.

FIG. 3 is a block diagram of a wireless interface accessory 300according to one embodiment of the invention. The wireless interfaceaccessory 300 is, for example, suitable for use as the wirelessinterface accessory 106 illustrated in FIG. 1. The wireless interfaceaccessory 300 includes a microcontroller 302 that controls the overalloperation of the wireless interface accessory 300. The wirelessinterface accessory 300 also includes a transceiver 304 and a chipantenna 306. The transceiver 304 operates to wirelessly communicate withthe counterpart device, such as a sports device, to receive sportsrelated data. The sports related data is then temporarily stored inmemory provided with the microcontroller 302 and then forwarded to aportable media device via a connector 308. The connector 308 can couplewith a counterpart connector associated with the portable media device.The microcontroller 302 can also store some user data, includingcalibration data, as well as sports data, including as data summaries,workout data, etc. The wireless interface accessory 300 can alsoincludes a power controller 310. The power controller 310 couples to apower source and ground from the connector 308. The power controller 310typically converts the incoming voltage level to a different voltagelevel to be utilized by the microcontroller 302 and the transceiver 304.

FIG. 4A is a block diagram of an arrangement 400 of functional modulesutilized by a portable media device. The portable media device can, forexample, be the portable media device 102 illustrated in FIG. 1. Thearrangement 400 includes a media player 402 that is able to output mediafor a user of the portable media device but also store and retrieve datawith respect to a data storage 404. The arrangement 400 also includes agraphical user interface (GUI) manager 406. The GUI manager 406 operatesto control information being provided to and displayed on a displaydevice. The arrangement 400 also includes a communication module 408that facilitates communication between the portable media device and anaccessory device. Still further, the arrangement 400 includes anaccessory manager 410 that operates to authenticate and acquire datafrom an accessory device that may be coupled to the portable mediadevice. For example, the accessory device can be a wireless interfaceaccessory, such as the wireless interface accessory 106 illustrated inFIG. 1 as being coupled to the portable media device 102.

FIG. 4B is a block diagram of a media player 450 suitable for use withthe invention. The media player 450 illustrates circuitry of arepresentative portable media device.

The media player 450 includes a processor 452 that pertains to amicroprocessor or controller for controlling the overall operation ofthe media player 450. The media player 450 stores media data pertainingto media items in a file system 454 and a cache 456. The file system 454is, typically, a storage disk or a plurality of disks. The file system454 typically provides high capacity storage capability for the mediaplayer 450. However, since the access time to the file system 454 isrelatively slow, the media player 450 can also include a cache 456. Thecache 456 is, for example, Random-Access Memory (RAM) provided bysemiconductor memory. The relative access time to the cache 456 issubstantially shorter than for the file system 454. However, the cache456 does not have the large storage capacity of the file system 454.Further, the file system 454, when active, consumes more power than doesthe cache 456. The power consumption is often a concern when the mediaplayer 450 is a portable media player that is powered by a battery 474.The media player 450 also includes a RAM 470 and a Read-Only Memory(ROM) 472. The ROM 472 can store programs, utilities or processes to beexecuted in a non-volatile manner. The RAM 470 provides volatile datastorage, such as for the cache 456.

The media player 450 also includes a user input device 458 that allows auser of the media player 450 to interact with the media player 450. Forexample, the user input device 458 can take a variety of forms, such asa button, keypad, dial, etc. Still further, the media player 450includes a display 460 (screen display) that can be controlled by theprocessor 452 to display information to the user. A data bus 461 canfacilitate data transfer between at least the file system 454, the cache456, the processor 452, and the CODEC 462.

In one embodiment, the media player 450 serves to store a plurality ofmedia items (e.g., songs, podcasts, etc.) in the file system 454. When auser desires to have the media player play a particular media item, alist of available media items is displayed on the display 460. Then,using the user input device 458, a user can select one of the availablemedia items. The processor 452, upon receiving a selection of aparticular media item, supplies the media data (e.g., audio file) forthe particular media item to a coder/decoder (CODEC) 462. The CODEC 462then produces analog output signals for a speaker 464. The speaker 464can be a speaker internal to the media player 450 or external to themedia player 450. For example, headphones or earphones that connect tothe media player 450 would be considered an external speaker.

The media player 450 also includes a bus interface 466 that couples to adata link 468. The data link 468 allows the media player 450 to coupleto a host device (e.g., host computer or power source). The data link468 can also provide power to the media player 450.

The media player 450 also includes a network/bus interface 466 thatcouples to a data link 468. The data link 468 allows the media player450 to couple to a host computer or to accessory devices. The data link468 can be provided over a wired connection or a wireless connection. Inthe case of a wireless connection, the network/bus interface 466 caninclude a wireless transceiver. The media items (media assets) canpertain to one or more different types of media content. In oneembodiment, the media items are audio tracks (e.g., songs, audiobooks,podcasts). In another embodiment, the media items are images (e.g.,photos). However, in other embodiments, the media items can be anycombination of audio, graphical or video content.

FIG. 5 is a flow diagram of a workout process 500 according to oneembodiment of the invention. The workout process 500 is, for example,performed by a computing device, typically a portable computing device.For example, the computing device can be a portable media device, suchas the portable media device 102 illustrated in FIG. 1.

The workout process 500 initially determines 502 a workout to beperformed. Typically, this involves user interaction with the computingdevice to select or enter information that leads to determination of aworkout. For example, the determination 502 of the workout can includereceiving a workout type indication and also receiving one or moreworkout characteristics for the workout. Nevertheless, after a workouthas been determined 502, workout music for the workout is determined504. The workout music is music that is played by the computing device(e.g., portable media device) during the workout.

Next, as the workout is ongoing, workout data is received, processed andstored 506 at the computing device. The workout data can, for example,be received from a sports device, such as the sports device 104illustrated in FIG. 1. In addition, updated workout data is displayed508. Typically, the computing device includes a display device that isable to display workout data during the workout. In addition, theworkout music is played 510 during the workout by the computing device.By playing the workout music, the workout can be enhanced by motivatingthe individual or otherwise entertaining the individual during theworkout.

Next, a decision 512 determines whether the workout has ended. Theworkout can end in response to a user request or automatically based ona condition (e.g., time, distance, etc.). When the decision 512determines that the workout has not ended, the workout process 500returns to repeat the block 506 and subsequent blocks so that subsequentworkout data can be received, processed and stored 506. Thereafter, theupdated workout data can be displayed 508 and the workout music cancontinue to be played 510. Hence, the blocks 506-510 are performedduring the workout such that (i) new workout data can be periodicallycaptured, (ii) updated workout data can be periodically displayed, and(iii) the workout music can be continuously played throughout theworkout. On the other hand, once the decision 512 determines that theworkout has ended, the workout data no longer needs to be received,processed and stored. Instead, once the workout has ended, workoutsummary data is displayed 514. The workout summary data 514 displaysdata that summarizes the workout. The workout music may or may notautomatically end at the end of the workout. Following the block 514,the workout process 500 ends.

FIG. 6 is a flow diagram of a workout monitoring process 600 accordingto one embodiment of the invention. The workout monitoring process 600is, for example, performed by a portable media device, such as theportable media device 102 illustrated in FIG. 1.

The workout monitoring process 600 initially displays 602 a workoutscreen. From the workout screen, a user can select a workout type,workout data, or back (go-back). Hence, following the block 602, adecision 604 determines whether a workout type selection has been made.When the decision 604 determines that a workout type selection has beenmade, a workout setup process 606 is performed. Details on exemplaryprocessing associated with the workout setup process 606 are discussedbelow with respect to FIGS. 7A and 7B. Alternatively, when the decision604 determines that a workout type selection has not been made, adecision 608 determines whether a workout data selection has been made.When the decision 608 determines that a workout data selection has beenmade, a workout data process 610 is performed. An example of a workoutdata process that can be performed at the block 610 is described belowwith reference to FIG. 9. On the other hand, when the decision 608determines that a workout data selection has not been made, a decision612 determines whether a “back” selection has been made. When thedecision 612 determines that a “back” selection has not been made, theworkout monitoring process 600 returns to repeat the decision 604 sothat a user's selection, once provided, can be processed. Alternatively,when the decision 612 determines that a “back” selection has been made,a prior screen is displayed 614 and processed appropriately.

FIGS. 7A and 7B are flow diagrams of a workout setup process 700according to one embodiment of the invention. The workout setup process700 is, for example, suitable for use as the workout setup process 606illustrated in FIG. 6.

The workout setup process 700 initially displays 702 a workoutcharacteristic screen based on the selected workout type. From theworkout characteristic screen, a user is able to select one or morecharacteristics for the workout. Hence, a decision 704 determineswhether workout characteristics have been selected. When the decision704 determines that workout characteristics have not yet been selected,the workout setup process 700 awaits such selection. On the other hand,once the decision 704 determines that workout characteristics have beenselected, a workout music screen is displayed 706. The workout musicscreen allows a user to select music to utilize during the workout. Themusic being selected can be a song, an album, a group of songs, etc.After the workout music screen has been displayed 706, a decision 708determines whether workout music has been selected. When the decision708 determines that workout music has not yet been selected, the workoutsetup process 700 awaits such a selection. It should be noted, however,that a workout music selection could be predetermined or assigned bydefault. Nevertheless, when the decision 708 determines that workoutmusic has been selected, a workout manager is configured 710 based onthe selected workout type and the selected workout characteristics.Additional details on the operation of the workout manager are describedbelow with reference to FIGS. 8A and 8B.

After the workout manager has been configured for the workout, adecision 712 determines whether a sensor is available. The sensor cancorrespond to the sports device 104 illustrated in FIG. 1. When thedecision 712 determines that the sensor is not available, an errorscreen can be displayed 714. The error screen notifies the user of thecomputing device (portable media device) that the sensor (or sportsdevice) is not available and thus there is no ability to monitor sportsrelated data. In this case, the workout monitoring will not beperformed.

On the other hand, when the decision 712 determines that the sensor isavailable, a workout start screen is displayed 716. The workout startscreen allows a user of the computing device (portable media device) todesignate when they begin their workout. Hence, a decision 718determines whether start of the workout has been selected. When thedecision 718 determines that the start of workout has not been selected,the workout setup process 700 awaits such as selection. Once thedecision 718 determines that start of the workout has been selected, theworkout manager is initiated 720 so that it begins the monitoring of theworkout (and thus the sports related data) as discussed in more detailbelow. In addition, playback of the selected workout music is activated722 so that the music is presented to the user during their workout.Following the block 722, as well as following the block 714, the workoutsetup process 700 ends.

FIGS. 8A and 8B are flow diagrams of a workout manager process 800according to one embodiment of the invention. The workout managerprocess 800 is associated with a workout manager that is a softwaremodule that operates to manage the capture, processing and storage ofsports related data as well as displaying appropriate information andplaying music to the user of the computing device (portable mediadevice).

The workout manager process 800 activates 802 reception of sensor data.The sensor data is, for example, data provided by a sensor within asports device. For example, the sports device can be the sports device104 illustrated in FIG. 1. Next, a workout progress screen is displayed804. The workout progress screen provides information to the user as totheir progress through the workout. As the workout proceeds, sensor datais received 806. The sensor data is processed 808 in accordance withcalibration data. The calibration data is data that is provided througha calibration process so that the sensor data can be better interpretedand thus more accurate in the determination of the user's progress withrespect to the workout. The progress can be measured in a variety ofdifferent ways depending upon the application. In one exemplaryapplication, the sensor data can be used to determine pace and distancetraveled by a user during a workout. Hence, the calibration data can beused in such a case to more accurately determine the pace and distancefor a workout. After the sensor data is processed 808, the sensor datais stored 810.

As the workout is ongoing, voice prompts can be provided to the user.Hence, a decision 812 determines whether a voice prompt is to beprovided. When the decision 812 determines that a voice prompt is to beprovided, workout data for the voice prompt is retrieved 814. Here, thevoice prompt is to be associated with the workout that is ongoing.Hence, the voice prompt is associated with and provides to the uservoice feedback pertaining to workout data. Next, the voice prompt isinitiated 816. In one embodiment, the voice prompts are provided atpredetermined points along a given type of workout. In anotherembodiment, the voice prompt can be provided based on performancemetrics. For example, when the user runs his/her fastest mile the usercan be provided with a voice prompt indicating that they have achieved apersonal best. Here, the user can be congratulated for reaching aparticular performance metric. Alternatively, when the decision 812determines that a voice prompt is not to be provided, the blocks 814 and816 can be bypassed.

Following the block 816 or its being bypassed, a decision 818 determineswhether a workout is complete. When the decision 818 determines that theworkout is complete, reception of sensor data is deactivated 820. Next,a workout summary screen is displayed 822. The workout summary screenprovides a summary of the workout for the user. For example, in the caseof a workout involving running, the workout summary can provide the userwith information on total distance, total time, pace, etc. for theworkout performed by the user. Following the block 822, the workoutmanager process 800 ends.

Alternatively, when the decision 818 determines that the workout is notcomplete, a decision 824 determines whether a pause has been requested.A user can pause a workout as they desire, such as through a user inputaction with respect to the computing device (portable media device). Inany case, when the decision 824 determines that a pause has not beenrequested, the workout manager process 800 returns to repeat the block804 and subsequent blocks so that the workout monitoring can continue,the workout progress screen can be updated, sensor data can beretrieved, processed and stored, and any voice prompts that areappropriate can be presented. Alternatively, when the decision 824determines that a pause has been requested, a decision 826 determineswhether the workout is to be resumed. That is, once the workout ispaused, the user can resume the workout by another user interfaceinteraction with the computing device. If the decision 826 determinesthat the workout has been resumed, the workout manager process 800 againreturns to repeat the block 804 and subsequent blocks. On the otherhand, when the decision 826 determines that the workout is not to beresumed, a decision 828 determines whether the workout is to be stopped.When the decision 828 determines that a workout is not to be stopped,the workout manager process 800 returns to repeat the decision 826 sothat the workout can be resumed or stopped as requested by the user.Alternatively, when the decision 828 determines that the workout is tobe stopped, the workout manager process 800 returns to repeat the block820 and subsequent blocks so that the workout can be ended in its normalfashion.

FIG. 9 is a flow diagram of a workout data process 900 according to oneembodiment of the invention. The workout data process 900 is, forexample, processing associated with the workout data process 610illustrated in FIG. 6.

The workout data process 900 displays 902 a workout data selectionscreen. The workout data selection screen is a screen that allows a userto select workout data to be viewed. In this regard, the workout datacan be divided into categories, and possibly further divided intosubcategories. In any case, a decision 904 determines whether a datacategory has been selected. Here, it is assumed that the workout dataselection screen offers a plurality of different data categories thatcan be selected. When the decision 904 determines that a data categoryhas not been selected, the decision 904 awaits such a selection. Oncethe decision 904 determines that a data category has been selected,workout data for the selected data category is retrieved 906. Here, theworkout data for the selected data category is retrieved 906 by thecomputing device through access of the stored workout data. The workoutdata may or may not be further processed or analyzed once theappropriate workout data is retrieved. In any case, a workout datareview screen is then displayed 908. The workout data review screenincludes the retrieved workout data, either as retrieved or as furtherprocessed. Following the block 908, the workout data process 900 ends.

In an alternative embodiment of the workout data process 900, theworkout data review screen might permit the user to further selectsubcategories or request additional details on certain workout data. Auser can also transition back to the workout data selection screen sothat they are able to select a different data category and thus bepresented with the associated workout data. A user might also bepermitted to select one or more subcategories at the workout dataselection screen.

FIGS. 10A and 10B are flow diagrams of an audio feedback process 1000according to one embodiment of the invention. The audio feedback process1000 concerns generation of audio feedback for a user of a portableelectronic device. The audio feedback can yield an audio prompt, such asa voice prompt. Hence, in accordance with one embodiment, the audiofeedback process 1000 can be considered a replacement for blocks 812-816of the workout manager process 800 illustrated in FIG. 8A.

The audio feedback process 1000 includes a decision 1002 that determineswhether workout feedback is to be provided in an audio manner. When thedecision 1002 determines that workout feedback is to be provided,workout data needed for a voice prompt is determined 1004. Here, theaudio feedback is provided in the nature of a voice prompt. The workoutdata for the voice prompt is then retrieved 1006. Next, audible speechfor the workout feedback is generated 1008. Here, the audible speechcould be resident on the computing device (e.g., portable computingdevice) or could be generated as needed by the computing device. Forexample, the audible speech can use speech synthesis or a combination ofpredetermined audio snippets and speech synthesis. Thereafter, theaudible speech is output 1010 by mixing the audible speech with theworkout music also being played. In one embodiment, the mixing canoperate to fade out the workout music while fading in the audible speechfor the workout feedback, and then at the end of the audible speech,fading out the end of the audible speech and fading in the workoutmusic.

Following the block 1010, as well as following the decision 1002 whenworkout feedback is not to be provided, a decision 1012 determineswhether motivational feedback is to be provided. When the decision 1012determines that motivational feedback is to be provided, a motivationalmessage to be provided is identified 1014. Next, audio datacorresponding to the identified motivational message is retrieved 1016.Typically, the computing device (portable electronic device) will storein data memory predetermined motivational messages that can be used toprovide motivational feedback for the user. Hence, the audio datacorresponding to the identified motivational message can be retrieved1016 from data memory provided in the computing device. Thereafter, theaudio data is output 1018 by mixing the audio data with the workoutmusic being played. In one embodiment, the mixing can operate to fadeout the workout music while fading in the audio data corresponding tothe identified motivational message, and then at the end of the audiodata, fading out the end of the audio data and fading in the workoutmusic.

Following the block 1018, as well as following the decision 1012 whenmotivational feedback is not to be provided, a decision 1020 determineswhether device feedback is to be provided. When the decision 1020determines that device feedback is to be provided, a device status typeto be provided is determined 1022. Device status information can then beretrieved 1024. Here, the device status information that is retrieved1024 can pertain to or include the device status type to be provided.Next, audio data for the device status can be generated or retrieved1026. Thereafter, the audio data can be output 1028 by mixing the audiodata with the workout music being played. Following the block 1028, aswell as following the decision 1020 when device feedback is not to beprovided, the audio feedback process 1000 ends. Additional details ondevice feedback, such as device status information, are described inU.S. patent application Ser. No. 11/209,367, filed Aug. 22, 2005, andentitled “AUDIO STATUS INFORMATION FOR A PORTABLE ELECTRONIC DEVICE”.

According to another aspect of the invention, a power song can be playedby the computing device (e.g., portable computing device). The powersong can be provided on a priority basis, so as to replace or overrideany other song that might be playing. In one embodiment, the power songis a particular predetermined song that was previously selected by theuser to motivate the user with regards to a workout.

FIG. 11 is a flow diagram of a power song process 1100 according to oneembodiment of the invention. A computing device (e.g., portablecomputing device) can support a power song that is played for the userupon request. Hence, the power song process 1100 begins with a decision1102. The decision 1102 determines whether a power song request has beenissued. The power song request can be issued manually by a user of theportable electronic device, or automatically by the computing deviceitself. In the case in which the user manually causes the power songrequest, the user might use a user interface action, such as selectionof a predetermined button or other action with respect to the computingdevice.

In any case, when the decision 1002 determines that a power song requesthas been issued, the power song to be played is identified 1104.Typically, a user of a portable electronic device can configure thecomputing device so as to provide a particular power song that the userdesires. Hence, in one embodiment, the power song to be identified 1104can pertain to a power song that the user has previously configured thecomputing device to specify. After the power song has been identified1104, the workout music that is otherwise being played during theworkout can be stopped 1106. The power song is then played 1108. Thepower song is thus played on a priority basis over any workout musicthat might be playing. After the power song has played to completion orstopped, the workout music can resume 1110 playing. Following the block1110, the power song process 1100 is complete and ends.

When resuming 1110 playing of the workout music, in one embodiment, theresume playback position in the workout music can be offset by theduration of the power song. The workout music can pertains to a singleaudio track or a group of audio tracks. When the workout music is agroup (or set) of tracks (songs), if the resume playback position wouldextend into the next track (song), then the resume playback positioncan, for example, be placed at the start of the next song.

One aspect of the invention pertains to a user interface for anelectronic device, such as a portable computing device. One example of aportable computing device is a portable media device. FIGS. 12-79 areexemplary screens that can be provided by a portable electronic deviceassociated with an application directed to monitoring run-based workoutswhile also permitting workout music to be presented.

FIG. 12 is a main screen that provides a main menu having a plurality ofmenu items. The menu item highlighted in FIG. 12 is available in themain menu when a sports monitoring device is available to the portableelectronic device. In such case, the portable electronic device providesworkout monitoring. When workout monitoring is selected from the mainmenu, a workout screen can be presented. FIG. 13 illustrates anexemplary workout screen. When a “Basic” workout type is selected, aworkout music screen such as shown in FIG. 14 can be displayed. A usercan then interact with the workout music screen to select music to beplayed during a workout. In this example, a user can select a workoutrelated mix of music, e.g., “30 Minute Run Mix” as illustrated in FIG.14. Alternatively, the user can select from other playlists available tothe portable electronic device. After workout music has been selected, aworkout start screen such as illustrated in FIG. 15 can be displayed.The workout start screen enables a user to initiate a workout monitoringsession.

The workout screen can also be used to initiate other types of workouts.These other types of workouts can be based on time, distance orcalories. FIG. 16 illustrates a workout screen in which a time-basedworkout is being requested. When a time-based workout is requested, aworkout characteristic screen such as shown in FIG. 17 can be displayedso that a user can select from various different timed workouts.Assuming that the user selects “20 Min” for a 20 minute timed workout asshown in FIG. 17, a workout start screen such as shown in FIG. 18 can bedisplayed to enable the user to start the workout monitoring session fora 20 minute workout. Alternatively, a user can select a distance typeworkout as shown in FIG. 19. When a distance-type workout is selected, aworkout characteristic screen such as shown in FIG. 20 is displayed. Theworkout characteristic screen shown in FIG. 20 allows the user to selectfrom various different distance workouts. Assuming that the user hasselected “5K” for a 5 k distance workout as shown in FIG. 20, a workoutstart screen such as shown in FIG. 21 is displayed that enables the userto start the workout monitoring session for a 5 k workout. As anotheralternative, a user can select a calorie-type workout from the workoutscreen such as shown in FIG. 22. When the calories-based workout hasbeen selected, a workout characteristic screen such as shown in FIG. 23can be displayed so that a user can select from different levels ofcalorie workouts. After the user has selected one of the differentcalorie workouts, a workout start screen such as shown in FIG. 24 can bedisplayed so that the user can start a workout monitoring session forthe determined calorie workout.

In the embodiment discussed above with respect to FIG. 1, the sportsdevice 104 needs to be in wireless communication with the portable mediadevice 102 for workout monitoring to be performed. When the sportsdevice 104 cannot be located by the portable media device 102, a sensoravailability warning screen such as shown in FIG. 25 can be displayed.Here, the sensor availability warning screen informs the user that thesports device 104, which in this example is located within a shoe of theuser, has not been located. Hence, it is recommended that the user walkaround to activate the sports device 104 (or sensor) residing in theshoe. It should be noted that the sports device 104 can utilize a lowpower mode in which it conserves energy when there is a lack ofmovement. Hence, by walking around, the user can cause the sports device104 to awaken from any low-power state it may be in.

In addition, a battery status notification screen such as shown in FIG.26 can be presented to a user. The battery status notification screen isprovided to inform the user that the battery residing in the sportsdevice 104 is low and will soon need to be replaced. Similar statusscreens could also be provided to inform the user of other statusconditions of the sports device 104 or of the portable media device 102.In one embodiment, the battery status notification screen can bepresented to the user prior to presenting a workout start screen to theuser.

FIG. 27 illustrates a workout status screen according to one embodimentof the invention. The workout status screen can also be referred to as aworkout progress screen. In any case, the workout status screen 2700includes a shoe icon 2702 that can visually indicate (e.g., flash) whenthe associated sports device is in communication with the portableelectronic device (portable media device). The workout status screen2700 also includes display of a main metric 2704 and two minor metrics2706. These metrics are typically associated with the workout monitoringbeing performed. In this case, the application is for run monitoring,hence, the main metric 2704 displays time and the minor metrics 2706display pace and distance (miles). The workout status screen 2700 alsodisplays music information 2708, such as song name, artist or album fora song being played. The display format can operate to scroll betweensong name, artist and album. The workout status screen can be displayedto the user once the user begins a workout, such as following a workoutstart screen. The workout status screen 2700 can be presented to theuser during the workout. In addition, once the workout begins, such asby a user interacting with a workout start screen, an audio indicationcan also be output to the user, such as the audio indication “BeginningWorkout”.

During a workout, a user may wish to pause the workout or stop theworkout. In one embodiment, pressing a predetermined button associatedwith the portable electronic device can cause a workout to be paused.When paused, the workout can suspend data collection for workoutmonitoring and may also pause the workout music being played. Stillfurther, an audio indication can be output to the user that the workouthas been paused, such as the audio indication “Workout Paused”. When thepredetermined button is pressed, a pause screen such as illustrated inFIG. 28 can be displayed. From the pause screen, a user can resume aworkout and thus return to the workout status screen. Alternatively, asillustrated in FIG. 29, a user can request to pause the workout in whichcase a workout screen such as illustrated in FIG. 30 can be displayed.In the workout screen illustrated in FIG. 30, when the “Resume Workout”item is selected as illustrated in FIG. 30, workout monitoring canrestart and the workout status screen displayed.

On the other hand, when a stop workout selection is made with respect toa pause screen such as illustrated in FIG. 31, the workout is stopped.Once the workout is stopped, a workout summary screen can be displayedas illustrated in FIG. 32. In this example, the workout summary screenpertains to a 60 minute workout. The workout summary screen indicatesthe date, time, distance, duration, pace, calories, battery condition,and date fine-tuned (calibrated).

FIG. 33 illustrates an exemplary screen that can be presented to theuser when the sports device has lost wireless communication with respectto the portable electronic device. In this case, the workout ends whenthe sports device has lost communication with the portable electronicdevice. Additionally, in one embodiment, audio feedback can be providedto the user that the portable electronic device has “Lost Contact WithShoe Sensor” and subsequently that “Workout Completed”.

From the workout screen, such as illustrated in FIG. 34, a user can alsoselect a “Data” item so that workout data can be reviewed. When the dataitem from the workout screen is selected, a workout data selectionscreen such as illustrated in FIG. 35 is displayed. The workout dataselection screen allows the user to review data from past workouts. Thedata can pertain to an individual workout, all workouts, recentworkouts, or summaries or totals from various workouts. When the userselects to review “Most Recent” data such as illustrated in FIG. 35, aworkout data review screen such as illustrated in FIG. 36 can bedisplayed so that the user can review the data associated with theuser's most recent workout. Alternatively, when the user selects the“Last 7 Days” item from the workout data selection screen such asillustrated in FIG. 37, a second workout data selection screen such asillustrated in FIG. 38 can be displayed. The second workout dataselection screen provides different groupings of workouts that have beenperformed within the last 7 days. In one embodiment, the workout dataselection screen can correspond to categories of workout data, whereasthe second workout data selection screen can refer to subcategories ofworkout data. In any case, when the user selects one of the items fromthe second workout data selection screen, such as “60 Min” asillustrated in FIG. 38, a workout data review screen, such as theworkout data review screen illustrated in FIG. 36 can be displayed.Similarly, when the user selects the “All Workouts” item from theworkout data selection screen such as illustrated in FIG. 39, a secondworkout data selection screen such as illustrated in FIG. 40 can bedisplayed. Then, if the user selects the “60 Min” grouping for all ofthe user's prior workouts, the appropriate data can then be displayed tothe user, such as using a workout data review screen.

Once a workout data review screen is displayed, a user can press apredetermined button to cause deletion of data corresponding to anindividual workout. As an example, when the predetermined button ispressed, a delete workout screen such as illustrated in FIG. 41 can bedisplayed. From the delete workout screen, the delete request can becancelled or the delete can be processed depending upon a subsequentuser selection.

The portable electronic device can also maintain data pertaining topersonal best across the various workouts that the user has in the pastperformed. From the workout data selection screen a “Personal Best” itemcan be selected such as illustrated in FIG. 42. When the “Personal Best”item is selected from the workout data selection screen, a personal bestscreen can be displayed such as illustrated in FIG. 43. In this example,the personal best information provided in the personal best screen iscategorized for different distances that the user has in the past run.If the user has not performed any runs or workouts for any of theavailable predetermined distances, such distances or categories wouldnot have any corresponding data. Hence, in one embodiment, thosecategories or distances for which there is no data, are not displayed inthe personal best screen.

Still further, from the workout data selection screen, a user can alsoselect to review data corresponding to their totals across the variousworkouts that the user has in the past performed. As shown in FIG. 44,when the “Total” items from the workout data selection screen isselected, a totals screen such as illustrated in FIG. 45 can bedisplayed. The totals screen provides data corresponding to all of theworkouts previously performed by the user with respect to the portableelectronic device. In this example, the total screen indicates number ofworkouts, farthest distance run, total distance run, total time run, andtotal calories consumed. In addition, by pressing a predeterminedbutton, the user can cause display of a clear totals screen such asillustrated in FIG. 46. Using the clear totals screen the user can causethe totals to be cleared if so desired.

Besides the predetermined distance workouts that are made available inthe workout characteristics screen illustrated in FIG. 20, a customdistance workout can also be performed. For example, when the “Custom”item is selected from the workout characteristics screen, a customdistance screen such as illustrated in FIG. 47 can be displayed. Thecustom distance screen enables the user to set the distance (e.g., inmiles) for a distance workout to be performed. Similarly, in the case ofa caloric workout, the workout characteristic screen can include a“Custom” item such as illustrated in FIG. 23. Upon selection of the“Custom” item, the user can be presented with a custom calorie screen(not shown) that enables the user to enter a number of calories to beassociated with the workout. Yet still further, when a timed workout isto be performed, the workout characteristic screen can include a“Custom” item such as illustrated in FIG. 17. When the “Custom” item isselected from the workout characteristic screen, the user can bepresented with a time entry screen that allows a user to enter aduration of time for the workout.

As noted above, the portable electronic device can provide voicefeedback (more generally, audio feedback) to its user. In this regard, asettings screen, such as shown in FIGS. 48-50 can be used to configurethe voice feedback (spoken feedback). The three options for voicefeedback include a female voice, as shown in FIG. 48, a male voice asshown in FIG. 49, and no voice feedback as shown in FIG. 50.

The settings screen can also be used to set the user's weight. In FIG.51, the settings screen is indicated with a “Weight” item highlighted.When the “Weight” item is selected, a weight entry screen such asillustrated in FIG. 52 can be displayed so that the user can enterhis/her weight. Weight entry is important for calorie workouts so thatthe portable electronic device is able to compute the number of caloriesbeing burned during the workout. The weight can be entered in kilogramsor pounds.

The setting screen can also be utilized to fine-tune the accuracy of theportable electronic device. FIGS. 53-66 pertain to fine-tuning of theaccuracy, which is also known as calibration. In FIG. 53, a settingsscreen is illustrated with the “Shoes” item highlighted. Upon selectionof the “Shoes” item, a shoes screen such as illustrated in FIG. 54 canbe displayed. As shown in FIG. 54, the “Fine-Tune” item is highlighted.When the “Fine-Tune” item is selected, a fine-tune screen is displayedsuch as illustrated in FIG. 55. In the fine-tune screen, an explanatorymessage can be provided to the user regarding how the fine-tuning (i.e.,calibration) process is to be performed. From the fine-tune screen, afine-tune status screen can be displayed such as illustrated in FIG. 56.In this example, the fine-tune status screen indicates that a walk-typefine-tune was performed on Oct. 4, 2005 and that a run-type fine-tunewas performed on Oct. 8, 2005. The “Pro Run” item is shown in thefine-tune screen as not having yet been performed. When the “Run” itemis selected from the fine-tune screen such as illustrated in FIG. 56, afine-tune run screen such as illustrated in FIG. 57 can be displayed.From the fine-tune run screen, a user can select either a 400 meter runor a custom distance to be utilize for a fine-tune operation.Alternatively, the user could reset the fine-tune run data to itsdefault data. When the fine-tune run screen is used to select the“Custom Distance” item as shown in FIG. 58, a custom distance screensuch as illustrated in FIG. 59 can be displayed so that a user can entera custom distance to be utilized with respect to the fine-tune run.

The fine-tune screen illustrated in FIG. 60 shows the “Pro Run” itembeing highlighted. When the “Pro Run” item is selected, a fine-tune prorun screen such as illustrated in FIG. 61 is displayed. The fine tunepro run screen allows the user to elect to run at a slower pace or afaster pace for the fine-tune operation. Regardless of which pace isselected, a fine-tune pro run screen such as illustrated in FIG. 62 isdisplayed. The fine-tune pro run screen illustrated in FIG. 62 allowsthe user to select a predetermined distance, a custom distance or areset operation.

Once the fine-tune run has been specified, the user can be presentedwith a music selection screen and then a start screen. Once the user hasindicated that they have started the fine tune run, a workout statusscreen can be displayed as discussed above. When a pause request hasbeen activated, such as by pressing a predetermined button, a fine-tunepause screen such as illustrated in FIG. 63 can be displayed. Thefine-tune pause screen enables a user to end the fine-tuning or resumethe fine-tuning. Regardless, when the fine-tune run has completed in asuccessful manner, a fine-tune run screen such as illustrated in FIG. 64can be displayed. Alternatively, when the fine-tune run does notcomplete successfully, error screens such as illustrated in FIG. 65 orFIG. 66 can be displayed. The error screen shown in FIG. 65 indicatesthat the distance run by the user was not the chosen distance for thefine-tuning. FIG. 66 indicates that the user varied their pace too muchduring the fine-tuning run, which caused inaccuracies.

FIGS. 67-72 are representative screens pertaining to linking of a sportsdevice (e.g., within a shoe) with a portable electronic device. From asettings screen, a user can select a “Shoes” item. When the “Shoes” itemof a settings screen is selected, a shoes screen such as illustrated inFIG. 67 can be displayed. When the “Link” item from the shoes screen ishighlighted as shown in FIG. 67, the user can select the “Link” item tolink the portable electronic device to the sports device within a shoe.FIG. 68 is a linking screen that indicates to the user that hasrequested linking that the portable electronic device is already linked.If desired, the user can continue to link the portable electronic devicewith a different pair of shoes (i.e., different sports device). Uponsuccessful linking, a linking screen such as shown in FIG. 69 can bedisplayed to the user. Further, during the linking operation, if theportable electronic device is having difficulty locating the shoes(i.e., sports sensor) to be linked with, a linking screen such as shownin FIG. 70 can be displayed to the user requesting that the user walkaround with the shoe so that the sports device is activated. Here, thesports device may be inactive or in a low power state when the shoe hasnot been used for walking or running in the immediate past. The sportsdevice can be awakened by the user walking around with the shoe. Also,during the linking operation, if the portable electronic device detectsmore than one shoe having a sports device, a linking screen such asshown in FIG. 71 can be displayed to inform the user and request thatthey isolate all but one shoe from the portable electronic device.

FIGS. 72-79 pertain to linking of a remote controller with the portableelectronic device. In FIG. 72, a settings screen is illustrated havingthe “Remote” item highlighted. When the “Remote” item is selected, aremote screen such as illustrated in FIG. 73 can be displayed. Theremote screen can be used to enable or disable remote commands, and canalso link or unlink a remote controller to the portable electronicdevice. When the “Link” item is selected from the remote screenillustrated in FIG. 73, a linking screen such as shown in FIG. 74 can bedisplayed informing the user that the portable electronic device isalready linked with a wireless remote (remote controller).Alternatively, during the linking operation, a linking screen such asshown in FIG. 75 can be displayed to inform the user that a portableelectronic device is searching for the wireless remote and that the usershould press a button on the wireless remote so that it is activated.Once the linking with the wireless remote has been successfullyperformed, the portable electronic device can display a linking screensuch as shown in FIG. 76. During the linking operation, if the portableelectronic device detects more than one wireless remote in the vicinity,a linking screen such as shown in FIG. 77 can be displayed to advise theuser to remove all but one wireless remote from the vicinity of theportable electronic device.

The remote screen such as shown in FIG. 73 can also be used to unlink awireless remote from being linked with the portable electronic device.When the “Unlink” item in the remote screen is selected, an unlinkingscreen such as illustrated in FIG. 78 is displayed. The unlinking screencan advise the user on pressing a button to unlink the current wirelessremote.

During the linking operation, with respect to a shoe or a wirelessremote, in the event that the shoe or wireless remote is unable to bedetected, an error screen can be presented to the user. For example,FIG. 79 illustrates an error screen informing the user that no shoeswere detected during a linking operation with respect to a shoe and theportable electronic device. A similar error screen could be displayedwhen no wireless remote is detected during a linking operation withrespect to a wireless remote and the portable electronic device.

Another aspect of the invention pertains to the use of templates toaffect operation of a portable electronic device. Templates can be usedto define workouts. A template can characterize or describe a workout. Atemplate can, for example, be provided as a XML file. The templates canbe included in firmware of the portable electronic device, such as theportable media device 102, or downloaded to the portable electronicdevice. For example, with respect to FIG. 1, templates can be downloadedfrom the media management application 114 operating on the personalcomputer 110 to the portable media device 102. The portable electronicdevice can present on a display those templates available on theportable electronic device.

In one embodiment, the templates are run templates. A run templatecharacterizes or describes a run workout. When utilized by the portableelectronic device, the run templates can affect one or more aspects ofthe run workout. The one or more aspects of the run workout can includea workout status screen, workout goal (e.g., distance), data monitoring,voice feedback, media output (e.g., music), etc.

FIG. 80 is a diagram of a template control system 8000 according to oneembodiment of the invention. The template control system 8000 is managedby a workout manager 8002 provided within a computing device, such as aportable computing device. The template control system 8000 utilizes oneor more workout templates 8004. The workout templates 8004 are providedto a workout manager 8002. The workout manager 8002 can controloperation of the computing device during a workout in accordance withthe workout templates 8004. In this regard, using information from theworkout templates 8004, the workout manager 8002 can control whether ornot workout data 8006, such as workout data provided by a sports device,is recorded. In addition, the workout manager 8002 can control orinfluence what is presented on a display 8008 based on the workouttemplates 8004. For example, the information being presented on aworkout screen can be controlled by information within the workouttemplates 8004. As a particular example, the workout status screenillustrated in FIG. 27 can have the information being displayed in themajor metric area 2704 and the minor metric areas 2706 be determined byinformation within the workout template. Also, the workout template 8004can control when and what audio feedback 8010 is provided to the user ofthe computing device (portable electronic device). Still further, theworkout template 8004 can be used to determine what music 8012 is outputduring the workout.

In one embodiment, each template is provided with a template identifierthat is unique or pseudo unique. The template identifier can be referredto when selecting a desired template, when downloading templates, etc.

According to one embodiment, a run template can include a header sectionand one or more interval sections. The header section can include: atitle for the run, instructions for the run, a workout category, atemplate version, a template format version, and/or description of whatto display in a data summary screen. Each interval section can include:a goal base for the run (e.g., a time, a distance, a number of calories,a number of strides, etc.), whether data for the interval should berecorded, what music (e.g., playlist) to use for the interval, what todisplay in a workout status screen, and/or what voice prompts are to beused and at what points during the workout.

The title for the run can vary. For example, the title can be “5 kWorkout”. The instruction for the run, if provided, can be displayed forthe user prior to beginning the run workout. The template version can beused to determine whether a new version of the template needs to bedownloaded. The template format version can be used for compatibilitypurposes. Templates with a higher format version than the firmware inthe portable electronic device can allow the system to ignore unknowntags. Unknown tags in a template claiming an equal or lower templateformat version will cause the template to be rejected.

The contents for the data summary screen can be specified by at leastone field identifier that identifies information, namely, run history,to be displayed. The information can be displayed in the order listed inthe template. Some possible examples of information that can bespecified for inclusion in the data summary screen include: weeklyaverage pace, weekly average distance, overall averages of varioustypes, total weekly distance, total distance for this run, total numberof steps for this run, total time for this run, total calories burnedduring this run, and every recorded interval time.

The interval section includes one or more intervals. Each interval canprovide the following information: interval goal base (e.g., a time,distance, number of calories, number of strides), or if not specifiedthen the run is an open-ended run; decimal values; whether data isrecorded or not; a playlist; one or more on-demand voice prompts; and/orwhat to display in a workout status screen.

Totals for the run can be calculated only using the recorded intervals.An interval may specify a time extension increment. The intervals may beof mixed type (not all interval goals have to be a distance (or a time,etc). The current calibration data could be used to calculate and verifyintervals.

Intervals can be used for a variety of things, like laps, intervaltraining, or just an entire run. One use for an unrecorded intervalwould be warm-up or cool-down periods. During such a period, the userprobably does not care so much about performance.

As noted above, the intervals can also specify what to display in theworkout status screen (e.g., Now Running screen) during the giveninterval. The interval can specify what to display in the large metricarea as well as in the smaller metric areas of the workout statusscreen, such as the workout status screen illustrated in FIG. 27. Thiscan be done using a display format ID which will be used to identifyboth the numerical format and units to be used. Some examples of metricsthat can be specified include: total distance, total time, last intervaltime, current elapsed interval time, current interval time remaining,time remaining, distance remaining, number of steps, kilometer or milepace, number of steps per minute, calories burned, etc. In FIG. 27, thelarge metric displayed is total time, and the smaller metrics are totaldistance in miles and total number of steps run.

A playlist to be used during an interval can be specified. The playlistcan be identified by its title. Alternatively, the playlist could beidentified by an identifier. In any event, the portable electronicdevice needs to have access to the playlist.

As noted above, the interval can be one or more voice prompts, which canbe held in a voice prompt list. Each voice prompt includes a format listand a trigger. The format list includes one or more voice prompt formatidentifiers. The voice prompts will be played in the order in which theyappear in the format list. A trigger can specify a type: regulardistance (play this prompt every N distance), regular time (play thisprompt every N amount of time), regular calories (play this prompt everyN calories burned), regular strides (play this prompt every N stridestaken), a particular distance, time, calorie value or number of strides,or on-demand (play this prompt whenever the user presses a predeterminedbutton). The trigger values can be set relative to the current interval.

For localization, the title and the instructions for the differentlanguages would need to be provided. English is used as the defaultlanguage. The localization for the voice prompts can be handledseparately from the template. When the user changes languages at theportable electronic device, any strings that have been localized willautomatically be updated, and if there are corresponding entries in thevoice prompt dictionary, they will be used.

Validation and range checking can be performed on loading eachindividual template. The template format version will also be used todetermine validity of the template. If a template fails the validationand range checking, the template is not utilized (e.g., not madeavailable to the user).

An exemplary template in an XML format for a 5 k run is provided below:

<template tmplID=“9223372036854775808” formatVer=“1.0” tmplVer=“1.0”category=“dist”> <!-- tmplID must be unique --> <title lang=en-US>5KWorkout</title> <shortTitle lang=en-US>5K</shortTitle> <sumFmt> <fieldfieldID=“distT”> <field fieldID=“timeT”> <field fieldID=“calrT”></sumFmt> <goal units=“km”>5.00</goal> <vpList> <vpLItriggerValue=“0.00” triggerType=“atNsecs”> <vpFmtList> <vpIDpromptID=“vpStart”/> </vpFmtList> </vpLI> <vpLI triggerValue=“0”triggerType=“onDem”> <vpFmtList> <vpID promptID=“vpDist”/> <vpIDpromptID=“vpTime”/> <vpID promptID=“vpPace”/> <vpIDpromptID=“vpDistContext”/> </vpFmtList> </vpLI> <vpLItriggerValue=“1.00” triggerType=“everyNdist”> <vpFmtList> <vpIDpromptID=“vpDistContext”/> </vpFmtList> </vpLI> <vpLItriggerValue=“2.50” triggerType=“atNdist”> <vpFmtList> <vpIDpromptID=“vpHalf”/> <vpID promptID=“vpDistRem”/> </vpFmtList> </vpLI><vpLI triggerValue=“4600” triggerType=“atNdist” units=“m”> <vpFmtList><vpID promptID=“vpDistRem”/> </vpFmtList> </vpLI> <vpLItriggerValue=“4700” triggerType=“atNdist” units=“m”> <vpFmtList> <vpIDpromptID=“vpDistRem”/> </vpFmtList> </vpLI>  <vpLI triggerValue=“4800”triggerType=“atNdist” units=“m”> <vpFmtList> <vpIDpromptID=“vpDistRem”/> </vpFmtList> </vpLI>  <vpLI triggerValue=“4900”triggerType=“atNdist” units=“m”> <vpFmtList> <vpIDpromptID=“vpDistRem”/> </vpFmtList> </vpLI>  <vpLI triggerValue=“5.00”triggerType=“atNdist” units=“m”> <vpFmtList> <vpID promptID=“vpGoal”/></vpFmtList> </vpLI> <vpLI triggerValue=“0” triggerType=“onStop”><vpFmtList> <vpID promptID=“vpEnd”/> <vpID promptID=“vpDist”/> <vpIDpromptID=“vpTime”/> <vpID promptID=“vpPace”/> <vpID promptID=“vpCal”/></vpFmtList> </vpLI> </vpList> </template>

The various aspects, embodiments, implementations or features of theinvention can be used separately or in any combination.

The invention is preferably implemented by software, hardware or acombination of hardware and software. The invention can also be embodiedas computer readable code on a computer readable medium. The computerreadable medium is any data storage device that can store data which canthereafter be read by a computer system. Examples of the computerreadable medium include read-only memory, random-access memory, CD-ROMs,DVDs, magnetic tape, optical data storage devices, and carrier waves.The computer readable medium can also be distributed overnetwork-coupled computer systems so that the computer readable code isstored and executed in a distributed fashion.

The many features and advantages of the present invention are apparentfrom the written description and, thus, it is intended by the appendedclaims to cover all such features and advantages of the invention.Further, since numerous modifications and changes will readily occur tothose skilled in the art, the invention should not be limited to theexact construction and operation as illustrated and described. Hence,all suitable modifications and equivalents may be resorted to as fallingwithin the scope of the invention.

1. (canceled)
 2. A method of operating a portable media device includinga processor and a memory, comprising: establishing, by the processor,communications with a sensor; receiving, in the processor, sensor datafrom the sensor; receiving, in the processor, a selection of a mediaitem; controlling, in the processor, an output of first audio dataassociated with the selected media item; determining, in the processor,communications have been lost with the sensor; in response to thedetermining communications have been lost with the sensor, generating,in the processor, second audio data including speech; mixing, in theprocessor, the second audio data with the first audio data; andcontrolling, in the processor, an output of the mixed audio dataincluding the speech.
 3. The method of claim 2, wherein the speechincludes an indication that communications with the sensor have beenlost.
 4. The method of claim 2, wherein the sensor is configured tomonitor a physiological characteristic of a person.
 5. The method ofclaim 2, wherein the sensor is a remote sensor coupled to a sportingdevice separate from the portable media device.
 6. The method of claim2, wherein the sensor data includes work out data associated with a userof the portable media device.
 7. The method of claim 2, wherein thegenerating the second audio data includes retrieving an audio snippetincluding the speech from a memory device coupled to the portable mediadevice.
 8. The method of claim 2, wherein the generating the secondaudio data includes synthesizing the speech.
 9. The method of claim 2,further comprising: determining a language to use for the speech andgenerating the speech in the determined language.
 10. The method ofclaim 2, further comprising: selecting a voice type for the speech. 11.The method of claim 10, wherein the voice type is a male voice or afemale voice.
 12. A portable media device comprising: a display; a userinterface configured to receive user inputs; a memory device storing aplurality of media items; a processor, coupled to the display, the userinterface and the memory device, the processor configured to 1)establishing communications with a sensor; 2) receive sensor data fromthe sensor; 3) receive a selection of a media item from the plurality ofmedia items; 4) control an output of first audio data associated withthe selected media item; 5) determine communications have been lost withthe sensor; 6) in response to the determining communications have beenlost with the sensor, generate second audio data including speech; 7)the second audio data with the first audio data; and 8) control anoutput of the mixed audio data including the speech.
 13. A computerreadable medium for storing computer code executed by a processor, thecomputer readable medium comprising: computer code for establishingcommunications with a sensor; computer code for receiving sensor datafrom the sensor; computer code for receiving a selection of a mediaitem; computer code for controlling an output of first audio dataassociated with the selected media item; computer code for determiningcommunications have been lost with the sensor; computer code for, inresponse to the determining communications have been lost with thesensor, generating second audio data including speech; computer code formixing the second audio data with the first audio data; and computercode for controlling an output of the mixed audio data including thespeech.
 14. A method of operating a portable media device, including aprocessor and a memory, comprising: receiving, in the processor, aselection of a media item; controlling, in the processor, an output offirst audio data associated with the selected media item; determining,in the processor, that device feedback related to a device status is tobe output; in response to the determining, generating second audio dataincluding speech related to the device status; mixing, in the processor,the second audio data with the first audio data; and controlling, in theprocessor, an output of the mixed audio data including the speech. 15.The method of claim 14, further comprising: retrieving device statusinformation related to the device status.
 16. The method of claim 14,wherein the media item is a music file.
 17. The method of claim 14,wherein the mixing includes fading the first audio data, the secondaudio data or combinations thereof.
 18. The method of claim 14, furthercomprising: synthesizing the speech.
 19. A computer readable medium forstoring computer code executed by a processor, the computer readablemedium comprising: computer code for receiving a selection of a mediaitem; computer code for controlling an output of first audio dataassociated with the selected media item; computer code for determiningthat device feedback related to a device status is to be output;computer code for, in response to the determining, generating secondaudio data including speech related to the device status; computer codefor mixing the second audio data with the first audio data; and computercode for controlling an output of the mixed audio data including thespeech.
 20. A portable media device comprising: a display; a userinterface configured to receive user inputs; a memory device storing aplurality of media items; a processor, coupled to the display, the userinterface and the memory device, the processor configured to: 1) receivea selection of a media item from the plurality of media items; 2)control an output of first audio data associated with the selected mediaitem; 3) determine that device feedback related to a device status is tobe output; 4) in response to the determining, generate second audio dataincluding speech related to the device status; 5) mix the second audiodata with the first audio data; and 6) controlling an output of themixed audio data including the speech.
 21. A method of operating aportable media device, including a processor and a memory, comprising:receiving, in the processor, a trigger condition for generating amessage including speech; determining, in the processor, a workout by auser has begun; receiving, in the processor, workout data associatedwith the workout; based upon the workout data and the trigger condition,determining, in the processor, the message including speech is to begenerated; generating, in the processor, audio data for the speech; andoutputting under control of the processor the audio data including thespeech.
 22. The method of claim 21, wherein the workout data is receivedfrom a remote sensor.
 23. The method of claim 22, wherein the remotesensor is located in a shoe.
 24. The method of claim 21, furthercomprising: receiving a selection of a media item; generating firstaudio data for the media item; mixing the audio data and the first audiodata; and outputting the mixed audio data including the speech.
 25. Themethod of claim 21, further comprising: in response to determining theworkout has begun, generating a message including speech indicating theworkout has begun.
 26. The method of claim 21, further comprising:determining the workout has been paused; in response to determining theworkout has paused, generating a message including speech indicating theworkout has paused.
 27. The method of claim 21, further comprising:outputting to a display a settings screen that allows a user to selectone or more settings that affect the output of the speech.
 28. Themethod of claim 21, further comprising: receiving a signal indicating aninput button has been selected; in response to the signal, immediatelygenerating the audio data for the message including speech.
 29. Acomputer readable medium for storing computer code executed by aprocessor, the computer readable medium comprising: computer code forreceiving a trigger condition for generating a message including speech;computer code for determining a workout by a user has begun; computercode for receiving workout data associated with the workout; computercode for, based upon the workout data and the trigger condition,determining the message including speech is to be generated; computercode for, generating audio data for the speech; and computer code foroutputting the audio data including the speech.
 30. A portable mediadevice comprising: a display; a user interface configured to receiveuser inputs; a memory device storing a plurality of media items; aprocessor, coupled to the display, the user interface and the memorydevice, the processor configured to: 1) receive a trigger condition forgenerating a message including speech; 2) determine a workout by a userhas begun; 3) receive workout data associated with the workout; 4) basedupon the workout data and the trigger condition, determine the messageincluding speech is to be generated; 5) generating audio data for thespeech; and 6) output the audio data including the speech.